vignettes/articles/mapview_02-advanced.Rmd
mapview_02-advanced.RmdDespite the possibility to quickly plot spatial data, mapview has a set of arguments for finer control of the visualization. Depending on the object class, these are:
All types
map - the leaflet or mapview map to use -> default NULLcol.regions - the color palette for colouring raster, polygon and point areas (points are essentially circles) -> default viridisLite::inferno for raster data and viridisLite::viridis for vector dataat - breakpoints used for the colouring -> default NULL meaning they are calculated automatically for the range of datana.color - the color for NA values -> default #BEBEBE80
map.types - the types of the background maps -> default CartoDB.Positron, CartoDB.DarkMatter, OpenStreetMap, Esri.WorldImagery, OpenTopoMap see here for available map typesalpha.regions - the opacity of raster, polygon and point fills -> default 0.8 for raster, 0.6 for polygons and 0.9 for pointslegend - whether to add a legend to the plot -> default FALSE
legend.opacity - opacity of the legend -> default 1
verbose - whether to print additional information to the console during the rendering -> default FALSE
layer.name - the layer name to be used for plotting -> default depends on call. For a single object the name of the object; if zcol is supplied a combination of object name and column name; for raster stack/bricks the layer namesaddRasterImage or adCircleMarkers
raster only
maxpixels - the maximum number of pixels to plot -> default 500k. This is used so rendering doesn’t take forever. This can also be set with mapviewOptions()
use.layer.names - whether to use the layer names of raster objects -> default FALSE
trim - should rasters be trimmed off NA values around the edges -> default TRUE
vector only
zcol - attribute name(s) or column number(s) in attribute table of the column(s) to be rendered -> default NULL
burst - whether to show all (TRUE) or only one (FALSE) layer(s) -> default FALSE
color - color (palette) for lines -> default viridisLite::viridis
alpha - opacity of the lines -> default 0.9
cex - circle size for point data -> default 6. This can also be used to map circle size to an attribute from the object’s attribute table by supplying either column name or numberlwd - line width -> default 2 for lines and points, 1 for polygonslabel - a character vector of labels to be shown on mouseover -> default feature IDs, if zcol is set the values of zcol
popup - the popup function to use for the popups -> default popupTable(). See chapter on popups for further optionsHere’s a few examples of how selected arguments can be used:
Similar to the good old spplot, arguments col.regions and at can be used for finer control of the colouring
library(mapview)
library(raster)
pal = mapviewPalette("mapviewTopoColors")
kili_data <- system.file("extdata", "kiliNDVI.tif", package = "mapview")
kiliNDVI <- stack(kili_data)
mapview(kiliNDVI[[1]], col.regions = pal(100), at = seq(-0.2, 1, 0.2), legend = TRUE)burst can be used to plot all layers of an object
Note how all layers are shown by default. There is a hidden argument hide which can be used to hide all layers but the first.
When burst used together with zcol, it will produce one layer for all unique values of zcol.
library(dplyr)
library(sf)
breweries %>%
st_intersection(franconia) %>%
mapview(zcol = "district", burst = TRUE)## Warning: attribute variables are assumed to be spatially constant
## throughout all geometries
Note that for a column with many values there will likely not be enough space for the layers control - we are working on a solution for this issue.
For point data the circle size can be mapped to one of the attributes (features with NA values will be shown as dots)
Opacity of lines and fills (regions) can be adjusted using arguments alpha and alpha.regions
In addition to easily style maps, mapview also makes it easy to add multiple layers to a (possibly laready existing) map. This can be done either by using + or by supplying a list of objects (or both).
library(plainview)
# mapview w list of objects
mapview(list(breweries, franconia),
zcol = list(NULL, "district"),
legend = list(TRUE, FALSE),
homebutton = list(FALSE, TRUE)) + poppendorf[[5]]See chapter 3. mapview options for instructions on how to set some of these styling parameters permanently.